using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using BancoX.Dominio;

namespace BancoX.Web
{

    public class OperacionAdapter
    {
        private string _tipo;

        public string Tipo
        {
            get { return _tipo; }
        }
        private string _cuenta;

        public string Cuenta
        {
            get { return _cuenta; }
        }

        private decimal _monto;

        public decimal Monto
        {
            get { return _monto; }
        }
        private string _fecha;

        public string Fecha
        {
            get { return _fecha; }
        }
        public OperacionAdapter(Operacion operacion, string numeroCuenta)
        {
            _cuenta = numeroCuenta;
            _fecha = operacion.FechaHora.ToShortDateString();
            _tipo = operacion.GetType().Name;
            if (operacion.Cuenta.Numero.Equals(numeroCuenta) && _tipo!="Pago")
                _monto = operacion.Monto;
            else
                _monto -= operacion.Monto;
        }
    }

    public class ListaOperaciones: List<OperacionAdapter>
    {
        public ListaOperaciones(IList<Operacion> operaciones, string numeroCuenta)
        {
            foreach (Operacion operacion in operaciones)
            {
                this.Add(new OperacionAdapter(operacion,numeroCuenta));
            }
        }
    }
}
